Iterative detection in MIMO systems

ABSTRACT

Detection for a MIMO wireless system with symbols iteratively detected in subsets with maximum likelihood hard decisions within subsets.

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] Priority is claimed from provisional applications: appl. Ser. Nos. 06/395,604, filed Jul. 12, 2002, and 06/399,746, filed Jul. 30, 2002. The following copending applications disclose related subject matter and have a common assignee: Appl. No. . . . , filed . . . (TI-34475)

BACKGROUND OF THE INVENTION

[0002] The present invention relates to communication systems, and more particularly to multiple-input multiple-output wireless systems.

[0003] Wireless communication systems typically use band-limited channels with time-varying (unknown) distortion and may have multi-users (such as multiple cellphone users within a cell). This leads to intersymbol interference and multi-user interference, and requires interference-resistant detection for systems which are interference limited. Interference-limited systems include multi-antenna systems with multi-stream or space-time coding which have spatial interference, multi-tone systems, TDMA systems having frequency selective channels with long impulse responses leading to intersymbol interference, CDMA systems with multi-user interference arising from loss of orthogonality of spreading codes, high data rate CDMA which in addition to multi-user interference also has intersymbol interference.

[0004] Interference-resistant detectors commonly invoke one of three types of equalization to combat the interference: maximum likelihood sequence estimation, (adaptive) linear filtering, and decision-feedback equalization. However, maximum likelihood sequence estimation has problems including impractically large computation complexity for systems with multiple transmit antennas and multiple receive antennas. Linear filtering equalization, such as linear zero-forcing and linear minimum square error equalization, has low computational complexity but has relatively poor performance due to excessive noise enhancement. And decision-feedback (iterative) detectors, such as iterative zero-forcing and iterative minimum mean square error, have moderate computational complexity but only moderate performance.

[0005] Thus there is a problem of trade-off of performance and computational complexity for multiple-input, multiple-output systems.

SUMMARY OF THE INVENTION

[0006] The present invention provides a method and detector for multiple-input, multiple-output (MIMO) systems which iteratively detects subsets of symbols and thereby allows reduced-state maximum likelihood decisions.

[0007] This has advantages including improved performance with moderate increase in computational complexity.

BRIEF DESCRIPTION OF THE DRAWINGS

[0008]FIGS. 1a-1 b are flow and functional block diagrams.

[0009]FIGS. 2a-2 c illustrate receivers and transmitters.

[0010]FIGS. 3a-3 d are simulation results.

[0011]FIGS. 4a-4 b show Turbo coding.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0012] 1. Overview

[0013] Preferred embodiment detectors and detection methods for multi-input, multi-output (MIMO) systems partition the set of transmitted symbols into subsets and jointly detect the symbols within a subset and iteratively detect the subsets. This provides interference cancellation of previously detected symbols. The joint detection within a subset may be a linear soft detection followed by maximum likelihood (ML) hard decision. FIG. 1a is a flow diagram, and FIG. 1b illustrates functional blocks of a preferred embodiment which partitions of a set of P symbol indices, {1, 2, . . . , P}, into M subsets, I₁, I₂, . . . , I_(M), of sizes P₁, P₂, . . . , P_(M), respectively. Thus, P=Σ_(1≦m≦M)P_(m). The hard estimates for the P_(m) symbols with indices in subset I_(m) are computed by a P_(m)-input, P_(m)-output ML detector. These hard estimates are then used to regenerate the signal components associated with the symbols whose indices lie in I_(m), and the regenerated components from this iteration plus prior iterations are subtracted from the received signal (interference cancellation) for use as input to the next iteration. This use of ML detection in reduced states (subsets of indices) provides a range of performance-complexity trade-offs previously unavailable.

[0014] Preferred embodiment wireless communication systems incorporate preferred embodiment detection methods. FIG. 1b illustrates functional blocks of a preferred embodiment detector. FIG. 2a shows a corresponding receiver for a MIMO wireless communications system; and FIG. 2b shows a P-antenna transmitter for such a system. In such systems components, base stations, and mobile users, could each include one or more application specific integrated circuits (ASICs), (programmable) digital signal processors (DSPs), and/or other programmable devices with stored programs for implementation of the preferred embodiment. The base stations and mobile users may also contain analog integrated circuits for amplification of inputs to or outputs from antennas and conversion between analog and digital; and these analog and processor circuits may be integrated on a single die. The stored programs may, for example, be in external or onboard ROM, flash EEPROM, and/or FeRAM. The antennas may be parts of RAKE detectors with multiple fingers for each user's signals. The DSP core could be a TMS320C6xxx or TMS320C5xxx from Texas Instruments.

[0015] 2. Iterative Detectors

[0016] First consider iterative detectors generally. FIG. 2a illustrates a receiver with an interference-resistant detector as could be used in a wireless communications system with P transmit antennas (P data streams) and Q receive antennas. FIG. 2b illustrates a corresponding transmitter with P transmit antennas. The received signal in such a system can be written as:

r=Hs+w

[0017] where r is the Q-vector of samples of the received baseband signal (complex numbers) corresponding to a transmission time n: ${r = \begin{bmatrix} {r_{1}(n)} \\ {r_{2}(n)} \\ \vdots \\ {r_{Q}(n)} \end{bmatrix}};$

[0018] s is the P-vector of transmitted symbols (complex numbers of a symbol constellation) for time n: ${s = \begin{bmatrix} {s_{1}(n)} \\ {s_{2}(n)} \\ \vdots \\ {s_{P}(n)} \end{bmatrix}};$

[0019] H is the Q×P channel matrix of attenuations and phase shifts; and w is a Q-vector of samples of received (white) noise. That is, the (q,p)th element of H is the channel (including multipath combining and equalization) from the pth transmit source to the qth receive sink, and the qth element of w is the noise seen at the qth receive sink.

[0020] Note that the foregoing relation applies generally to various systems with various interference problems and in which n, r, s, P, and Q have corresponding interpretations. For example:

[0021] (a) High data rate multi-antenna systems such as BLAST (Bell Labs layered space time) or MIMO and multi-stream space-time coding: spatial interference suppression techniques are used in detection.

[0022] (b) Broadband wireless systems employing OFDM (orthogonal frequency division multiplex) signaling and MIMO techniques for each tone or across tones.

[0023] (c) TDMA (time division multiple access) systems having frequency-selective channels with long impulse response which causes severe ISI (intersymbol interference). Use equalizers to mitigate ISI.

[0024] (d) CDMA (code division multiple access) systems having frequency-selective channels which cause MUI (multi-user interference) as a result of the loss of orthogonality between spreading codes. For high data rate CDMA systems such as HSDPA and 1xEV-DV, this problem is more severe due to the presence of ISI. Equalizers and/or interference cancellation may be used to mitigate these impairments.

[0025] (e) Combinations of foregoing.

[0026] Hence, P is essentially the number of symbols that are jointly detected as they interfere with one another, and Q is simply the number of collected samples at the receiver. Because there are P independent sources, Q must be at least as large as P to separate the P symbols. A (interference-resistant) detector in a receiver as in FIGS. 2a-2 b analyzes received signal vector r and outputs soft estimates x of the transmitted symbols s to a demodulator and decoder.

[0027] Presume that the different symbols which are transmitted via P different antennas are uncorrelated and also may utilize different modulation schemes. This implies the P×P matrix of expected symbol correlations, Λ=E[ss^(H)], is diagonal with entries equal the expected symbol energies (λ_(k)=E[|S_(k)|²]): $\Lambda = \begin{bmatrix} \lambda_{1} & 0 & \cdots & 0 \\ 0 & \lambda_{2} & \cdots & 0 \\ \vdots & \vdots & ⋰ & \vdots \\ 0 & 0 & \cdots & \lambda_{P} \end{bmatrix}$

[0028] For linear filtering equalization detectors, such as linear zero-forcing (LZF) or linear minimum mean square error (LMMSE), the soft estimates, denoted by P-vector x, derive from the received signal by linear filtering with P×Q matrix F; namely, x=Fr.

[0029] In particular, LMMSE detection finds the matrix F by minimizing the mean square error, E[||x−s||²]. With perfect estimation of the channel H, the minimizing matrix F is given by: $\begin{matrix} {F_{LMMSE} = {\left\lbrack {{H^{H}H} + {\sigma^{2}\Lambda^{- 1}}} \right\rbrack^{- 1}H^{H}}} \\ {= {\Lambda \quad {H^{H}\left\lbrack {{H\quad \Lambda \quad H^{H}} + {\sigma^{2}I_{Q}}} \right\rbrack}^{- 1}}} \end{matrix}$

[0030] where σ₂ is the variance per symbol of the additive white noise w and I_(Q) is the Q×Q identity matrix. Note F has the form of a product of an equalization matrix with H^(H) which is the matrix of the matched filter for the channel.

[0031] Analogously, LZF detection finds the matrix F by inversion:

F _(LZF) =[H ^(H) H] ⁻¹ H ^(H)

[0032] Essentially, LZF detection nulls out the interference at the expense of excessive noise enhancement, while LMMSE detection minimizes the sum of interference and noise energy to provide a balanced trade-off between bias (due to residual interference) and variance (due to noise enhancement). But then each component of x is processed separately to obtain a corresponding hard symbol estimate. That is, a hard estimate, ŝ_(i), for the ith symbol, s_(i), comes from application of a hard decision operator to the soft estimate: ŝ_(i)=

{x_(i)} for i=1, 2, . . . , P, where

{} is a non-linear decision device, usually a single-input, single-output (SISO) maximum-likelihood (ML) detector.

[0033] A typical iterative (decision-feedback) detector (IZF or IMMSE) for blocks of P symbols has a series of P linear detectors (P iterations) with each linear detector followed by a (hard) decision device and interference subtraction (cancellation). Each of the P linear detectors (iterations) generates both a hard and a soft estimate for one of the P symbols. The hard estimate is used to regenerate the interference arising from the already-estimated symbols which is then subtracted from the received signal, and the difference used for the next linear symbol estimation. Hence, the hard symbol estimates, ŝ_(i), are also computed in a disjoint fashion.

[0034] On the other hand, the optimal joint maximum likelihood (ML) detector generates the hard symbol estimates as:

ŝ _(ML)=arg min_(SεC) ||r−Hs|| ²

[0035] where C=C₁×C₂× . . . ×C_(p) is the P-dimensional constellation of P-vectors of symbols and has size π_(1≦j≦P) |C_(j)| where |C_(j)| denotes the number of elements in constellation C_(j). Thus the hard symbol estimates are jointly computed, and the computational complexity of this optimal detection is proportional to the constellation size which is exponential in P.

[0036] When an error correcting code is employed, soft symbol or soft bit (log likelihood ratio) estimates are often desired (see Section 8 for example). While soft symbol estimates can be obtained in many ways, the conditional expectation estimator is optimal. The conditional expectation estimator is:

[0037] $\hat{s} = {{E\left\lbrack {sr} \right\rbrack} = \frac{\sum\limits_{s \in C}{s \times {\exp \left( {{- {{r - {Hs}}}^{2}}/\sigma^{2}} \right)}}}{\sum\limits_{s \in C}{\exp \left( {{- {{r - {Hs}}}^{2}}/\sigma^{2}} \right)}}}$

[0038] The performance loss of iterative detectors comes from the disjoint processing of the soft symbol estimates, x_(i), to obtain the corresponding hard symbol estimates, ŝ_(i). The preferred embodiment detectors circumvent this problem by partial ML detections with moderate computational complexity.

[0039] 3. Iterative Reduced-State Maximum-Likelihood Detection

[0040]FIG. 1a is a flow diagram and FIG. 1b shows functional blocks for first preferred embodiment detection methods which detect a P-vector of transmitted symbols, s, from a received Q-vector signal, r, as expressed in the following pseudocode which presumes a partition of the set of symbol indices, {1, 2, . . . , P}, into M subsets of indices I₁, I₂, . . . , I_(M), where I_(m) has P_(m) elements. initialize r⁽¹⁾ = r for m = 1 to M x^((m)) = F_(m) r^((m)) // P_(m)-vector of soft estimates for I_(m) indexed symbols ŝ^((m)) = MLD_(m) { x^((m)) } // P_(m)-vector of hard decisions for I_(m) indexed symbols r^((m+1)) = r^((m)) − G_(m) ŝ^((m)) // interference cancellation using hard estimates end

[0041] where F_(m) is a P_(m)×Q matrix for the feedforward transformation of received signal into soft estimates, x^((m)), of the I_(m) indexed symbols; MLD_(m) is a (P_(m), P_(m)) maximum likelihood (ML) detector; G_(m) is a Q×P_(m) matrix for the feedback transformation using the mth iteration output for interference cancellation. The following paragraphs describe choices for F_(m), G_(m), and MLD_(m). And note that the preferred embodiment methods for trivial index set partitions reduce to the usual methods: for M=1 (no partitioning), the method is just an ML detection for all of the symbols, and for M=P (every index is a separate subset), the method is just regular iterative detection.

[0042] Zero-forcing and minimum mean square error criteria each define F_(m) and G_(m) as follows. Begin with some convenient notation: let J₁={1, 2, . . . , P} and recursively take J_(m)=J_(m−1)−I_(m−1) for 2≦m≦M, so J_(m) is the set of indices of symbols remaining to be detected at the start of the mth iteration. Let H_(m) be the Q×P_(m) matrix consisting of the columns of H with index in I_(m), so H_(m) is the channel matrix for the P_(m) symbols being detected during the mth iteration. Let K_(m) be the Q×(Σ_(m≦k≦M) P_(k)) matrix consisting of the columns of H with index in J_(m), so K_(m) is the channel matrix for the symbols remaining to be detected at the start of the mth iteration (K₁=H). Let Λ_(m) be the P_(m)×P_(m) diagonal sub-matrix of Λ of elements with both row and column indices in I_(m); consequently, the elements of Λ_(m) are the energies of the symbols to be detected during the mth iteration. Let

_(m) be the (Σ_(m≦k≦M) P_(k))×(Σ_(m≦k≦M) P_(k)) diagonal sub-matrix of Λ of elements with both row and column indices in J_(m), so the elements of

_(m) are the energies of the symbols remaining to be detected at the start of the mth iteration. Let 1_(m) be the P_(m)×Q the matrix of the rows of the identity matrix I_(Q) with row index in I_(m); that is, 1_(m(p,q))=1 if q is the pth element of I_(m) and =0 otherwise, and thus 1_(m) extracts the subspace spanned by the symbols to be detected in the mth iteration.

[0043] Neglecting decision feedback error and choosing F_(m) and G_(m) according to the zero-forcing criterion yields for m=1, 2, . . . , M−1:

F_(m)=1_(m)[K_(m) ^(H)K_(m)]⁻¹K_(m) ^(H)

G_(m)=H_(m)

[0044] Analogously, choosing F_(m) and G_(m) according to the minimum mean square error criterion yields for m=1, 2, . . . , M−1: $\begin{matrix} {F_{m} = {{1_{m}\left\lbrack {{K_{m}^{H}K_{m}} + {\sigma^{2}\Pi_{m}^{- 1}}} \right\rbrack}^{- 1}K_{m}^{H}}} \\ {= {\Lambda_{m}{H_{m}^{H}\left\lbrack {{K_{m}\Pi_{m}\quad K_{m}^{H}} + {\sigma^{2}I_{Q}}} \right\rbrack}^{- 1}}} \end{matrix}$

 G_(m)=H_(m)

[0045] In both cases during the last iteration (m=M) all remaining symbols will be detected, so J_(M)=I_(M), K_(M)=H_(M),

_(M)=Λ_(M). Further, there is no next iteration and thus no need for a cancellation matrix G_(M); see FIG. 1b. The following sections 4 and 5 provide an explicit example and an extension to compensate for decision feedback error.

[0046] The maximum likelihood hard decision for the mth iteration, MLD_(m), depends upon the signal model for r^((m)). In particular,

[0047] $\begin{matrix} {r^{(m)} = {r^{({m - 1})} - {G_{m - 1}{\hat{s}}^{({m - 1})}}}} \\ {= {r - {\sum\limits_{1 \leq k \leq {m - 1}}{G_{k\quad}{\hat{s}}^{(k)}}}}} \\ {= {{H\quad s} + w - {\sum\limits_{1 \leq k \leq {m - 1}}{G_{k\quad}{\hat{s}}^{(k)}}}}} \end{matrix}$

[0048] where ŝ^((k)) is the P_(k)-vector of hard estimates of s^((k)) which is the P_(k)-vector of symbols with indices in subset I_(k).

[0049] Now for the case of no feedback error, G_(k)=H_(k) and ŝ^((k))=s^((k)), so the model becomes

r ^((m))=Σ_(m≦j≦M) H _(j) s ^((j)) +w

[0050] Thus the soft estimates can be written as: $\begin{matrix} {x^{(m)} = {F_{m}r^{(m)}}} \\ {= {{F_{m}H_{m}s^{(m)}} + {\sum\limits_{{m + 1} \leq j \leq M}{F_{m}H_{j}s^{(j)}}} + {F_{m}w}}} \\ {= {{F_{m}H_{m}s^{(m)}} + i_{m}}} \end{matrix}$

[0051] where i_(m) is the residual interference-plus-noise term corresponding to the mth iteration detection. Note that the desired signal term, F_(m)H_(m)s^((m)), is uncorrelated to the residual interference-plus-noise and that

E[i _(m) i _(m) ^(H) ]=F _(m) K _(m+1)

_(m)(F _(m) K _(m+1))^(H)+σ² F _(m) F _(m) ^(H)

[0052] For notational convenience define ψ_(m)=E[i_(m)i_(m) ^(H)] which is a P_(m)×P_(m) matrix. Then assuming the residual interference is approximately Gaussian with covariance matrix ψ_(m), so log-likelihood metric for MLD_(m) is just the Euclidean metric scaled by the covariance matrix:

ŝ ^((m))=arg min_(c(m))||ψ_(m) ^(−1/2)(x ^((m)) −F _(m) H _(m) c ^((m)))||²

[0053] where c^((m)) is a P_(m)-vector of symbols in the product of the P_(m) constellations of symbols with indices in I_(m). Thus the hard decision is found by computing all of the metrics and taking the symbol vector which generates the minimum metric; and if all of the constellations have the same size |C| (such as all are |C|−QAM), then the number of metrics to compute is |C|^(Pm).

[0054] Note that for F_(m) and G_(m) defined using the zero-forcing criterion there is no residual interference because F_(m)K_(m+1)=0. In this case i_(m) is exactly Gaussian. For the MMSE criterion, however, some residual interference exists; hence, i_(m) is a mixture of Gaussian (from the noise) and non-Gaussian (residual interference) random processes. For sufficiently dense symbol constellations and/or a sufficiently large number of antennas, the interference can be well approximated as Gaussian. Otherwise, a variation of the MLD decision for MMSE-based detection is the use of the exact probability density function (pdf) of i_(m) in the maximum likelihood detection. Because i_(m) is the sum of F_(m)w and Σ_(m+1≦j≦M)F_(m)H_(j) s^((j)), its pdf is the convolution of their pdfs.

[0055] 4. 4×4 Example

[0056] As an example consider the 4×4 MIMO system with the preferred embodiment partitioning the symbols into two subsets of two symbols each; that is, P=Q=4 with P₁=P₂=2 (M=2). Explicitly, take I₁={1,2} and I₂={3,4}; then with h_(k) denoting the kth column of 4×4 channel matrix H, the zero-forcing criterion yields:

F₁=1_({1,2})[H^(H)H]⁻¹H^(H)  (2×4 matrix)

G₁=[h₁h₂]  (4×2 matrix)

F₂=[h₃h₄]^(H)  (2×4 matrix)

[0057] Analogously, the MMSE criterion gives: $\begin{matrix} {F_{1} = {{1_{\{{1,2}\}}\left\lbrack {{H^{H}H} + {\sigma^{2}\Lambda^{- 1}}} \right\rbrack}^{- 1}\quad \left( {2 \times 4\quad {matrix}} \right)}} \\ {= {\begin{bmatrix} {\lambda_{1}h_{1}^{H}} \\ {\lambda_{2}h_{2}^{H}} \end{bmatrix}\left\lbrack {{\lambda_{1}h_{1}h_{1}^{H}} + {\lambda_{2}h_{2}h_{2}^{H}} + {\sigma^{2}I_{4}}} \right\rbrack}^{- 1}} \end{matrix}\quad$

 G₁=[h₁h₂]  (4×2 matrix)

F₂=[h₃h₄]^(H)  (2×4 matrix)

[0058] The simulations of section 9 compare performance of various modifications of this 4×4 MIMO system preferred embodiment plus regular iterative detection.

[0059] 5. Feedback Error Compensation

[0060] In general, the error-free decision feedback assumption is sufficiently accurate for high signal-to-noise ratio (SNR) and good channel conditions. Otherwise, error propagation may occur. When the MMSE criterion is used, the effect of error propagation can be taken into account by using the second order model which presumes the correlation of the transmitted symbols and their hard estimates is expressed by a diagonal P×P energy-correlation matrix: ${E\left\lbrack {s\quad {\hat{s}}^{H}} \right\rbrack} = \begin{bmatrix} {\lambda_{1}\rho_{1}} & 0 & \cdots & 0 \\ 0 & {\lambda_{2}\rho_{2}} & \cdots & 0 \\ \vdots & \vdots & ⋰ & \vdots \\ 0 & 0 & \cdots & {\lambda_{P}\rho_{P}} \end{bmatrix}$

[0061] where the symbol-hard estimate correlations ρ_(j) are generally real-valued and in the range −1≦ρ_(j)≦+1. Let R denote the P×P diagonal matrix of these correlations. Then define the P_(m)×P_(m) diagonal correlation submatrix R_(m) with diagonal elements ρ_(k) for k in I_(m) and the (Σ_(m≦k≦M) P _(k))×(Σ_(m≦k≦M)P_(k)) diagonal correlation submatrix

_(m) with diagonal elements ρ_(k) for k in J_(m). Thus, R_(m) is useful for interference cancellation at the end of the mth iteration when the ŝ^((m)) are available, so the ρ_(k) for k in I_(m) are generally non-zero in R_(m). Further,

_(m) is useful for interference suppression at the start of the mth iteration when the ŝ^((m)) are not yet available and so the ρ_(k) for k in I_(m) are set to zero in forming

_(m). All the ρ_(k) for k in J_(m) are not yet available so this is all 0s. For multistage detection, some ρ_(k) will be 0 for the undetected symbols in the first stage; during the second stage estimates from the previous stage for all the symbols are available and ρ_(k) is non-zero for every k.

[0062] Taking into account the effect of error propagation in the MMSE criterion approach leads to modified F_(m) and G_(m); for m=1, 2, . . . M−1: F m = 1 m  [ K m H  K m  ( I - m 2 ) + σ 2  m - 1 ] - 1  K m H = Λ m  H m H  [ K m  ( I - m 2 )  m  K m H + σ 2  I Q ] - 1 G m = H m  R m

[0063] Note that these modified matrices reduce to the prior expressions when ρ_(k)=1 for previously-detected symbols. In particular, ρ_(k)=1 for k in J_(m)−I_(m) reduces F_(m) to the prior expression and ρ_(k)=1 for k in I_(m) reduces G_(m) to the prior expression.

[0064] This feedback error compensation by use of correlations to limit cancellation allows for a multistage detection with each stage a set of M iterations as in the foregoing and with the hard estimates and correlations of one stage used as initial conditions for the next stage. In this manner, performance can be improved in stages by controlling the cancellation according to current correlation. Of course, the correlations must be computed, either by ensemble averaging (i.e., use a pilot channel or a set of training symbols that undergo the same MIMO channel as the information symbols) or by use of an analytical model (e.g., specific symbol constellation and Gaussian approximations) which can relate correlations and SINRs (which are used to define the F and G matrices) plus provide convergence to limiting values through successive stages.

[0065] In particular, if superscript/subscript [n] denotes nth stage variables, then the first stage would be as described in the preceding paragraphs: the mth iteration would include: $\begin{matrix} {r^{{\lbrack 1\rbrack}{(m)}} = {r^{{\lbrack 1\rbrack}{({m - 1})}} - {G_{{{\lbrack 1\rbrack}m} - 1}{\hat{s}}^{{\lbrack 1\rbrack}{({m - 1})}}}}} \\ {= {r - {\sum_{1 \leq k \leq {m - 1}}{G_{{\lbrack 1\rbrack}k}{\hat{s}}^{{\lbrack 1\rbrack}{(k)}}}}}} \end{matrix}$

 F _([1]m)Λ_(m) H _(m) ^(H) [K _(m)(K _(m)(I−

_([1]m) ²)

_(m) K _(m) ^(H)+σ² I _(Q)]⁻¹

x^([1](m))=F_([1]m)r^([1](m) . . .)

ŝ^([1](m))=MLD_(m){x^([1](m))}

G_([1]m)=H_(m)R_([1]m)

[0066] Then the second stage would have first stage hard estimates of interfering subsets of symbols to include in the cancellations, so

[0067] $\begin{matrix} {r^{{\lbrack 2\rbrack}{(m)}} = {r^{{\lbrack 2\rbrack}{({m - 1})}} - {G_{{{\lbrack 2\rbrack}m} - 1}{\hat{s}}^{{\lbrack 2\rbrack}{({m - 1})}}}}} \\ {= {r - {\sum_{1 \leq k \leq {m - 1}}{G_{{\lbrack 2\rbrack}k}{\hat{s}}^{{\lbrack 2\rbrack}{(k)}}}} - {\sum_{{m + 1} \leq j \leq M}{G_{{\lbrack 1\rbrack}j}{\hat{s}}^{{\lbrack 1\rbrack}{(j)}}}}}} \end{matrix}$

[0068] Note that the hard estimates from the first stage for the subset of symbols being detected, ŝ^([1](m)), are not part of the cancellation. And the correlation matrices

_([2]m) can use first stage correlations ρ_([1]k) for k in J_(m), whereas R_([2]m) is used after the mth iteration and will have correlations ρ_([2]k) for k in J_(m). And so forth for subsequent stages.

[0069] 6. Ordered Detection

[0070] Ordered detection based on the symbol post-detection signal-to-interference-plus-noise ratio (SINR) is often used to further improve performance. error. Selecting the detection ordering in the foregoing preferred embodiments amounts to selecting the index sets I₁, I₂, . . . , I_(M) that form a partition of {1, 2, . . . , P}. One may select a pre-determined detection ordering that does not depend on the channel realization H. Analogous to the conventional iterative detection, further improvement can be obtained by selecting the ordering as a function of H based on a selected performance measure as in the following examples.

[0071] (1) Pre-ML SINR measures

[0072] At the start of the mth iteration, compare the (Σ_(m≦k≦M)P_(k)) SINR values associated with the index set J_(m), and select index set I_(m) to label the P_(m) largest SINR values. Note that closed form expressions for the SINR as a function of the channel realization can be obtained for different detection criteria. In particular, define the SINR associated with symbol s_(p) at the mth iteration as γ_(p) ^((m)). For the zero-forcing criterion this yields for pεI_(m):

γ_(p) ^((m))=λ_(p)/σ²[(K _(m) ^(H) K _(m))⁻¹]_(p,p)

[0073] Whereas the MMSE criterion together with the feedback error compensation yields for pεI_(m): γ p ( m ) = λ p  h p H  [ ∑ n ∈ J m + l  λ n  ( 1 - ρ n 2 )  h n  h n H + ∑ k ∈ I m - p  λ k  h k  h k H + σ 2  I Q ] - 1  h p = λ p / [ σ 2  m - 1  ( K m H  K m )  ( I - m 2 ) + σ 2  m - 1 ) - 1 ] p , p - 1

[0074] where h_(k) is the kth column of H, and the case of error-free feedback is a special case.

[0075] (2) Post-ML SINR measures

[0076] Intuitively, better detection ordering can be obtained when a measure of SINR after the ML detection. Several possible post-ML detection measures can be derived from the symbol error rate (SER) expression of ML detection. Starting from the ML metric above, scale by Ψ_(m) ^(−1/2) to define: $\begin{matrix} {y^{(m)}\overset{def}{=}{\Psi_{m}^{{- 1}/2}x^{(m)}}} \\ {\Theta_{m}\overset{def}{=}{\Psi_{m}^{{- 1}/2}F_{m}K_{m}}} \\ {j_{m}\overset{def}{=}{\Psi_{m}^{{- 1}/2}i_{m}}} \end{matrix}$ Then $\begin{matrix} {y^{(m)} = {\Psi_{m}^{{- 1}/2}x^{(m)}}} \\ {= {\Psi_{m}^{{- 1}/2}\left( {{F_{m}K_{m}s^{(m)}} + i_{m}} \right)}} \\ {= {{\Psi_{m}^{{- 1}/2}\Theta_{m}s^{(m)}} + j_{m}}} \end{matrix}$

[0077] Here the scaled residual interference-plus-noise term, j_(m), is white with E[j_(m)j_(m) ^(H)]=I. Let

_(m) denote the P_(m)-dimensional product of constellations of the symbols with indices in I_(m); that is,

_(m)=π_(kεI) _(m) C_(k) where C_(k) is the symbol constellation for s_(k) and the product is over k in I_(m). Also let N_(m) denote the size of

_(m), so N_(m)=π_(kεI) _(m) |C_(k)|. An upper bound of symbol error rate (SER) corresponding to MLD_(m) can be derived as follows: SER m =  Pr  ( s ^ ( m ) ≠ s ( m ) ) =  ( 1 / N m )  ∑ α ∈    m  Pr ( s ^ ( m ) ≠ s ( m )   s ( m ) = α ) =  ( 1 / N m )  ∑ α ∈    m  ∑ α ′ , α ′ ≠ α  Pr ( s ^ ( m ) = α ′   s ( m ) = α ) =  ( 1 / N m )  ∑ α ∈    m  ∑ α ′ , α ′ ≠ α  Pr ( ⋂ β ≠ α ′  {  y ( m ) - Θ m  α ′  2 ≤   y ( m ) - Θ m  β  2 } ) ≤  ( 1 / N m )  ∑ α ∈    m  ∑ α ′ , α ′ ≠ α  Pr  (  y ( m ) - Θ m  α ′  2 ≤  y ( m ) - Θ m  α  2 ) =  ( 1 / N m )  ∑ α ∈    m  ∑ α ′ , α ′ ≠ α  ℚ  ( √ (  Θ m  ( α - α ′ )  2 / 2 ) )

[0078] where the

function is the area under the Gaussian tail. This upper bound on SER_(m) can be used to select the detection order: take I_(m) to minimize the upper bound. Thus this measure is post-ML based on the SER upper bound.

[0079] A looser upper bound can be derived from the fact that for α,

ε

_(m):

||Θ_(m)(α−

)||²≧min _(1≦i≦P) _(m) (||[Θ_(m)]_(:,i)||² d ² _(min,i))

[0080] where d² _(min,i) is the minimum distance among symbols in the symbol constellation associated with the ith column of Θ_(m), [Θ_(m)]_(:,i). Thus, SER m ≤  ( 1 / N m )  ∑ α ∈    m  ∑ α ′ , α ′ ≠ α  ℚ  ( √ (  Θ m  ( α - α ′ )  2 / 2 ) ) ≤  ( N m - 1 )  ℚ  ( √ ( min 1 ≤ i ≤ P m  (  [ Θ m ] : , i  2  d min , i 2 ) ) )

[0081] When the same constellation (modulation scheme) is used for all of the transmit antennas, the minimum distance is common and the upper bound simplifies to:

SER _(m)≦(N _(m)−1)

({square root}(d ² _(min) min_(1≦i≦P) _(m) (||[Θ_(m)]_(:,i)||²)))

[0082] This upper bound yields the following post-ML measure for selecting the detection order: at the mth iteration, select I_(m) to maximize min_(1≦i≦P) _(m) (||[Θ_(m)]_(:,i)||²). This measure is thus post-ML based on the channel norm after MMSE transformation.

[0083] 7. Decision Alternatives

[0084] The foregoing preferred embodiments hard decision methods, MLD_(m), convert x_(k) ^((m)) into ŝ_(k) ^((m)) use a maximum likelihood approach which applies a hard-limiter (hard-clipping) non-linearity. Alternative non-linearities, generically denoted as ŝ^((m))=

{x^((m))}, such as hyperbolic tangent, may result in better performance. In this case the decision statistics that are close to zero are effectively scaled instead of clipped; the scaling depends upon the variance of the residual interference plus noise. For example, for a single BPSK symbol: Hyperbolic tangent: _(tanh)(z) = tanh (Re{z}/ξ)

Soft linear clipped: $\begin{matrix} {{_{SL}(z)} = {+ 1}} & {{{if}\quad {Re}\left\{ z \right\}} > \xi} \\ {= {- 1}} & {{{if}\quad {Re}\left\{ z \right\}} < {- \xi}} \\ {= {{Re}\left\{ z \right\}}} & {{{if}\quad {{{Re}\left\{ z \right\}}}} \leq \xi} \end{matrix}\quad$

[0085] where ξ is a non-negative constant. For higher order modulation, the decision is done in the bit level following the bit log likelihood ratio computation (as described in Section 8). Alternatively, for QPSK, the real and imaginary parts of:

(z) can be taken as tan h(Re{z}/ξ) and tan h(lm{z}/ξ), respectively; or the corresponding soft linear with Re{z} and lm{z}, respectively. Further, for higher order (larger constellations) the soft linear extends by selecting the constant to make

(z)=z for z in the constellation. And for two or higher-dimensional constellations, extend by components. For example, with a subset of symbols of size P_(m)=2, the ML decision on the soft estimate 2-vector x^((m)) gives the 2-vector of symbols in the product constellation closest to x^((m)); whereas, the soft linear would give the 2-vector [

_(SL)(x₁ ^((m))),

_(SL)(x₂ ^((m)))].

[0086] While any of those non-linear estimators can be used, the optimal soft estimator is the conditional expectation estimator (analogous to Section 2), which is ${\hat{s}}^{(m)} = {E\left\lbrack {{s^{(m)}\left. x^{(m)} \right\rbrack} = \frac{\sum\limits_{c}^{\quad}{c \times {\exp \left( {- {{\Psi_{m}^{{- 1}/2}\left( {x^{(m)} - {F_{m}H_{m}c}} \right)}}^{2}} \right)}}}{\sum\limits_{c}^{\quad}{\exp \left( {- {{\Psi_{m}^{{- 1}/2}\left( {x^{(m)} - {F_{m}H_{m}c}} \right)}}^{2}} \right)}}} \right.}$

[0087] where the summation is over the set formed by the product of P_(m) constellations of symbols with indices in I_(m) (see discussion at the end of Section 3).

[0088] For systems with large constellation and/or a number of antennas, the computational burden may be prohibitive as it increases exponentially with the number of transmit antennas. In this case, sphere decoding type algorithm can be used to reduce computational complexity at the expense of some performance (while retaining most of the gain of maximum likelihood detector).

[0089] 8. Decoding

[0090] The demodulator converts the soft symbol estimates x⁽¹⁾, x⁽²⁾, . . . , x^((M)) output by an M-iteration detector into conditional probabilities; and the conditional probabilities translate into bit-level log likelihood ratios (LLRs) for (sequence) decoding. In more detail, the LLRs in terms of the bits u_(pk) which define the constellation symbols s_(p) (e.g., two bits for a QPSK symbol, four bits for a 16QAM symbol, etc.) are defined (dropping the superscripts on the x_(p)) as $\begin{matrix} {{{LLR}\left( u_{pk} \right)} = {\log \left\{ {P\left\lbrack {u_{pk} = {1{\left. x_{pk} \right\rbrack/{P\left\lbrack {u_{pk} = {0\left. x_{pk} \right\rbrack}} \right\}}}}} \right.} \right.}} \\ {= {\log \left\{ {{P\left\lbrack {u_{pk} = {1\left. x_{pk} \right\rbrack}} \right\}} - {\log \left\{ {P\left\lbrack {u_{pk} = {0\left. x_{pk} \right\rbrack}} \right\}} \right.}} \right.}} \end{matrix}$

[0091] The LLRs can be computed using a channel model. For example, $\begin{matrix} {{{LLR}\left( u_{pk} \right)} = {\log \left\{ {P\left\lbrack {u_{pk} = {1{\left. x_{pk} \right\rbrack/{P\left\lbrack {u_{pk} = {0\left. x_{pk} \right\rbrack}} \right\}}}}} \right.} \right.}} \\ {= {\log \left\{ {P\left\lbrack {{x_{p}{\left. {u_{pk} = 1} \right)/{p\left( {x_{p}\left. {u_{p\quad k} = 0} \right)} \right\}}}} + {\log \left\{ {{P\left\lbrack {u_{pk} = 1} \right\rbrack}/{P\left\lbrack {u_{nk} = 0} \right\rbrack}} \right\}}} \right.} \right.}} \end{matrix}$

[0092] where the first log term includes the probability distribution of the demodulated symbol x_(p) which can be computed using the channel model. The second log term is the log of the ratio of a priori probabilities of the bit values and typically equals 0. So for an AWGN channel where the residual interference (interference which is not cancelled) is also a zero-mean, normally-distributed, independent random variable, the channel model gives:

p(x _(p) |s _(p) =c)˜exp(−|x _(p) −c| ²/γ_(p))

[0093] where c is a symbol in the symbol constellation and γ_(p) is a normalization typically derived from the channel characteristics and the detector type. Indeed, the following section describes known normalizations and preferred embodiment normalizations. Of course, γ_(p) is just twice the variance of the estimation error random variable.

[0094] Then compute LLRs by using an approximation which allows direct application of the channel model. Take p(x_(p)|u_(pk)=1)=p(x_(p)|s_(p)=c_(pk=1)) where C_(pk=1) is the symbol in the sub-constellation of symbols with kth bit equal 1 and which is the closest to x_(p); that is, c_(pk=1) minimizes |x_(p)−c_(k=1)|² for C_(k=1) a symbol in the sub-constellation with kth bit equal to 1. Analogously for p(x_(p)|u_(pk)=0) using the sub-constellation of symbols with kth bit equal 0. Then with equal a priori probabilities of the bit values and the notation subscript k=1 and k=0 indicating symbols with kth bit 1 and 0, respectively, the approximation yields $\begin{matrix} {{{LLR}\left( u_{pk} \right)} = {\log \quad \left\{ {p\left( {x_{p}{\left. {u_{pk} = 1} \right)/{p\left( {x_{p}\left. {u_{pk} = 0} \right)} \right\}}}} \right.} \right.}} \\ {\cong {{1/\gamma_{p}} \cdot \left\{ {{\min_{k = 0}{{x_{p} - c_{k = 0}}}^{2}} - {\min_{k = 1}{{x_{p} - c_{k = 1}}}^{2}}} \right\}}} \end{matrix}$

[0095] Thus the LLR computation just searches over the two symbol sub-constellations for the minima.

[0096] The LLRs are used in decoders for error correcting codes such as Turbo codes (e.g., iterative interleaved MAP decoders with BCJR or SOVA algorithm using LLRs for each MAP) and convolutional codes (e.g. Viterbi decoders). Such decoders require soft bit statistics (in terms of LLR) from the detector to achieve their maximum performance (hard bit statistics with Hamming instead of Euclidean metrics can also be used but result in approximately 3 dB loss). Alternatively, direct symbol decoding with LLRs as the conditional probability minus the a priori probability could be used. FIGS. 4a-4 b illustrate the 3GPP Turbo encoder and an iterative decoder which includes two MAP blocks, an interleaver, a de-interleaver, and feedback for iterations.

[0097] 9. Simulations

[0098] Simulations for 4×4 MIMO QPSK and 16QAM systems with P=Q=4 in spatially uncorrelated (IID) and correlated MIMO channels were performed to compare a preferred embodiment with other detection methods. The correlated spatial channel profile has the average and peak cross correlation of 0.16 and 0.40, respectively. FIGS. 3a-3 d compare simulations with the following six detection methods including four preferred embodiment iterative reduced state ML variations:

[0099] (1) IMMSE UNORD: regular iterative MMSE without detection ordering.

[0100] (2) IMMSE ORD: regular iterative MMSE with detection ordering based on post-detection SINR.

[0101] (3) IRSML UNORD: MMSE-based iterative reduced state ML for M=2, P₁=P₂=2 and without ordering.

[0102] (4) IRSML ORD Pre-ML SINR: MMSE-based iterative reduced state ML for M=2, P₁=P₂=2 and with ordering based on SINR after MMSE transformation.

[0103] (5) IRSML ORD Post-ML Norm: MMSE-based iterative reduced state ML for M=2, P₁=P₂=2 and with ordering based on channel norm after MMSE transformation.

[0104] (6) IRSML ORD Post-ML SER: MMSE-based iterative reduced state ML for M=2, P₁=P₂=2 and with ordering based on SER bound after ML detection.

[0105] The raw bit error rate (BER) versus signal-to-noise ratio (E_(b)/N₀) results for QPSK in IID and correlated channels appear in FIGS. 3a-3 b, respectively, and for 16QAM in IID and correlated channels appear in FIGS. 3c-3 d, respectively. Observe that the gain of IRSMLover regular IMMSE is more dramatic in spatially correlated channels and when no detection ordering is used. Notice also that IRSML with SER-based detection ordering results in a gain of 10-dB for 16QAM in correlated channels at BER=10⁻³ compared to the regular IMMSE with detection ordering.

[0106] The computational complexity of preferred embodiment iterative reduced state ML methods can be compared to the full ML and the regular MMSE methods. In particular, consider two aspects: matrix inversion computation and hard decision estimation. For comparison, assume that the preferred embodiments use equal size subsets (P_(m)=P/M) and all methods use the same constellation (size C) for all symbols. Then the following table indicates the complexity of the methods. Detector Matrix inversion Hard decision Regular iterative ˜PxP³ ˜PxC Maximum likelihood none ˜C^(P) IRSML ˜MxP³ ˜MxC^(P/M)

[0107] Thus for the preferred embodiments with two subsets (M=P/2 and P_(m)=2), the computational complexity of the preferred embodiments is comparable to the regular iterative detector for small to moderate constellation size. For large constellation size (such as 64-QAM or 256-QAM), the complexity increase for the preferred embodiments over the regular iterative detector becomes significant. However, its performance gain is expected to become more dramatic as indicated by the simulations. 

What is claimed is:
 1. A method of detection, comprising: (a) receiving a signal representing a set of P symbols where P is a positive integer greater than 2; (b) jointly estimating a subset of P₁ symbols of said set of P symbols where P₁ is a positive integer; (c) after step (b), jointly estimating a subset of P₂ symbols of said set of P symbols where P₂ is a positive integer and wherein said subset of P₁ symbols and said subset of P₂ symbols are members of a partition of said set of P symbols and P₁+P₂ is greater than
 2. 2. The method of claim 1, wherein: P ₁ =P ₂ =P/2  (a).
 3. The method of claim 1, further comprising: (a) after step (c) of claim 1, for each m in the set {3, . . . , M}, jointly estimating a subset of P_(m) symbols of said set of P symbols where P_(m) is a positive integer and wherein said subset of P_(m) symbols is a member of a partition of said set of P symbols and P₁+P₂+. . . +P_(M)=P where M is a positive integer.
 4. The method of claim 3, wherein: P ₁ =P ₂ =. . . =P _(M) =P/M  (a).
 5. The method of claim 1, wherein: (a) said jointly estimating of step (b) of claim 1 includes a decision using P₁-vector of soft estimates F₁r where r is a Q-vector of said received signals of step (a) of claim 1 and F₁ is a P₁×Q matrix for zero-forcing estimation; (b) said jointly estimating of step (c) of claim 1 includes a decision using P₂-vector of soft estimates F₂(r−G₁s⁽¹⁾) where F₂ is a P₂×Q matrix for zero-forcing estimation, G₁ is a Q×P₁ matrix for zero-forcing feedback cancellation, and s⁽¹⁾ is the P₁-vector estimation result of step (b) of claim
 1. 6. The method of claim 1, wherein: (a) said jointly estimating of step (b) of claim 1 includes a decision using P₁-vector of soft estimates F₁r where r is a Q-vector of said received signals of step (a) of claim 1 and F₁ is a P₁×Q matrix for minimum mean square error estimation (b) said jointly estimating of step (c) of claim 1 includes a decision using P₂-vector of soft estimates F₂(r−G₁s⁽¹⁾) where F₂ is a P₂×Q matrix for minimum mean square error estimation, G₁ is a Q×P₁ matrix for zero-forcing feedback cancellation, and s⁽¹⁾ is the P₁-vector estimation result of step (b) of claim
 1. 7. The method of claim 1, wherein: (a) said jointly estimating of step (b) of claim 1 includes a decision using P₁-vector of soft estimates F₁r where r is a Q-vector of said received signals of step (a) of claim 1 and F₁ is a P₁×Q matrix for minimum mean square error estimation (b) said jointly estimating of step (c) of claim 1 includes a decision using P₂-vector of soft estimates F₂ (r−G₁ s⁽¹⁾) where F₂ is a P₂×Q matrix for minimum mean square error estimation including feedback error compensation, G₁ is a Q×P₁ matrix for zero-forcing feedback cancellation including feedback error compensation, and s⁽¹⁾ is the P₁-vector estimation result of step (b) of claim
 1. 8. The method of claim 1, wherein: (a) said subset of P₁ symbols of step (b) of claim 1 is determined according to signal-to-interference-plus-noise ratios of said P symbols prior to a decision in said estimating.
 9. The method of claim 1, wherein: (a) said subset of P₁ symbols of step (b) of claim 1 is determined according to projected signal-to-interference-plus-noise ratios of said P symbols after a decision in said estimating.
 10. The method of claim 1, wherein: (a) said jointly estimating of step (b) of claim 1 includes a maximum likelihood decision; and (b) said jointly estimating of step (c) of claim 1 includes a maximum likelihood decision.
 11. The method of claim 1, wherein: (a) said jointly estimating of step (b) of claim 1 includes a soft decision; and (b) said jointly estimating of step (c) of claim 1 includes a soft decision.
 12. The method of claim 1, further comprising: (a) jointly re-estimating said subset of P₁ symbols using error compensation determined by said jointly estimating said subset of P₂ symbols of step (c) of claim
 1. 